package main

import "fmt"

type long int

//面向对象的函数，就是指给某个类型绑定一个函数
func (tmp long) Add002(other long) long {
	return tmp + other
}

func main()  {
	var a long = 2
	//调用方式 变量名.函数(参数)
	//这个地方注意，因为这里的long 它既是一个long的数据类型即一个整型，然后他又绑定了一个函数，
	//所以在调用这个变量绑定的这个函数的时候，这个变量的值也被带进去了，Add002()函数是两个整型相加返回和的操作，我们只传了一个参数8,
	//其实他还有个参数，就是它本身，即2 这个2 会被带到上边函数的 tmp里
	//所以函数里 tmp + other 就等价于 2 +8 = 10
	b := a.Add002(8)
	fmt.Printf("b = %d\n", b)
}
